﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SRP_LibBusinessRules;
using SRPCENTRIA.Code;
using SRP_LibBusinessEntity;

namespace SRPCENTRIA.ws_appPrivada
{
    public partial class wBusqProveedor : BasePage
    {
        System.Data.DataTable dtproveedores = new System.Data.DataTable();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack) 
            {
                if (Session["Usuario"] != null)
                {
                    EUsuario usuario = (EUsuario)Session["Usuario"];
                    ((Label)Master.FindControl("lblusuario")).Text = usuario.VUSU_NOMBRES;
                }
                CargarTipoDocumentos();
                //CargarTipoEmpresa();
                //CargarClasePersona();
                //CargarRubro();
                //CargarDepartamentos("171");
                PersonalizarPagina();
            }
            

        }

        #region Custom Methods

        private void NombrarPagina() 
        {

        }

        public void CargarProveedores(string tipoidentificacion, string identificacion, string nombre,
        string keyword, int perfil,int solicitud) 
        {
            NProveedor proveedor = new NProveedor();
            dtproveedores = proveedor.BusquedaProveedor(tipoidentificacion, identificacion, nombre, keyword, perfil, solicitud);
            if (dtproveedores.Rows.Count > 0)
            {
                gvproveedores.DataSource = dtproveedores;
                gvproveedores.DataBind();
                
            }
            else 
            {
                gvproveedores.DataSource = dtproveedores;
                gvproveedores.DataBind();
                EscribirScriptManager("No existen resultados para mostrar intente nuevamente");
            }

        }

        private void CargarTipoDocumentos() 
        {
            NRubro rubro = new  NRubro();
            NGenerico generico = new NGenerico();
            ddltipoidentificacion.DataSource = generico.ListarTip_Iden("");
            ddltipoidentificacion.DataTextField = "VTIP_DESCRIPCION_TIPO_IDENTIFICACION";
            ddltipoidentificacion.DataValueField = "VTIP_CODIGO_TIPO_IDENTIFICACION";
            ddltipoidentificacion.DataBind();
            ddltipoidentificacion.SelectedValue = "6";
            //ddltipoidentificacion.Items.Insert(0, "--Seleccionar--");
        }

        //private void CargarTipoEmpresa() 
        //{
        //    NGenerico generico = new NGenerico();
        //    ddltipoempresa.DataSource = generico.ListarTipo_Emp();
        //    ddltipoempresa.DataTextField = "VEMP_DESCRIPCION_TIPO_EMPRESA";
        //    ddltipoempresa.DataValueField = "VEMP_CODIGO_TIPO_EMPRESA";
        //    ddltipoempresa.DataBind();
        //}

        //private void CargarClasePersona() 
        //{
        //    NGenerico generico = new NGenerico();
        //    ddltipopersona.DataSource = generico.ListarClase_Per();
        //    ddltipopersona.DataTextField = "VCLA_DESCRIPCION_CLASE_PERSONA";
        //    ddltipopersona.DataValueField = "VCLA_CODIGO_CLASE_PERSONA";
        //    ddltipopersona.DataBind();
        //}

        //private void CargarRubro() 
        //{
        //    NGenerico generico = new NGenerico();
        //    NRubro rubro = new NRubro();
        //    ddltiporubro.DataSource = rubro.ListarTipoRubro();
        //    ddltiporubro.DataTextField = "VRUB_DESC_RUBRO";
        //    ddltiporubro.DataValueField = "VRUB_CODIGO_RUBRO";
        //    ddltiporubro.DataBind();
        //    ddltiporubro.Items.Insert(0,new ListItem( "--Seleccionar--","0"));
        //}

        //private void CargarDepartamentos(string PPais)
        //{
        //    NUbigeo objwsGeneric = new NUbigeo();
        //    ddldepartamento.DataSource = objwsGeneric.ListarDepartamentos(PPais);
        //    ddldepartamento.DataTextField = "VUBI_NOMDPTO";
        //    ddldepartamento.DataValueField = "VUBI_CODIGO_UBIGEO";
        //    ddldepartamento.DataBind();
        //}
        //private void CargarProvincias(string PProvincia)
        //{
        //    NUbigeo objwsGeneric = new NUbigeo();
        //    ddlprovincia.DataSource = objwsGeneric.ListarProvincias(PProvincia);
        //    ddlprovincia.DataTextField = "VUBI_NOMPROV";
        //    ddlprovincia.DataValueField = "VUBI_CODIGO_UBIGEO";
        //    ddlprovincia.DataBind();
        //}
        //private void CargarDistritos(string PDistrital)
        //{
        //    NUbigeo objwsGeneric = new NUbigeo();
        //    ddldistrito.DataSource = objwsGeneric.ListarDistritos(PDistrital);
        //    ddldistrito.DataTextField = "VUBI_NOMDIST";
        //    ddldistrito.DataValueField = "VUBI_CODIGO_UBIGEO";
        //    ddldistrito.DataBind();
        //}

        private void LimpiarCampos()
        {
            //ddldepartamento.SelectedIndex=0;
            //ddldistrito.SelectedIndex=0;
            //ddlprovincia.SelectedIndex=0;
            //ddltipoempresa.SelectedIndex=0;
            ddltipoidentificacion.SelectedIndex=0;
            //ddltipopersona.SelectedIndex=0;
            //ddltiporubro.SelectedIndex=0;
            //ddltipotransaccion.SelectedIndex=0;
            txtidentificacion.Text = string.Empty;
            txtkeyword.Text=string.Empty;
            txtrazonsocial.Text=string.Empty;

        }

        private void PersonalizarPagina() 
        {
            if (Request.QueryString["solicitud"] != null)
            {
                string solicitud = Request.QueryString["solicitud"].ToString();
                switch (solicitud)
                {
                    case "1":
                        //btnaceptar.Visible = true;
                        //btnaceptar.Text = "Adjuntar Archivo";
                        //gvproveedores.Columns[0].Visible = true;
                        lblTitulo.Text = "- Adjuntar Archivo";
                        gvproveedores.Columns[1].Visible = true;
                        break;
                    case "2":
                        //btnaceptar.Visible = true;
                        //btnaceptar.Text = "Proveedor Estable";
                        gvproveedores.Columns[2].Visible = true;
                        lblTitulo.Text = "- Proveedor Estable";
                        break;
                    case "3":
                        //btnaceptar.Visible = true;
                        //btnaceptar.Text = "Enviar a Homologar";
                        gvproveedores.Columns[3].Visible = true;
                        lblTitulo.Text = "- Enviar a Homologar";
                        break;
                    default:
                        //btnaceptar.Visible = true;
                        //btnaceptar.Text = "Aceptar";
                        gvproveedores.Columns[0].Visible = true;
                        lblTitulo.Text = "";
                        break;
                }
            }
            else {
                gvproveedores.Columns[0].Visible = true;
            }
        }

        #endregion

        //protected void ddldepartamento_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    if (ddldepartamento.SelectedIndex>0)
        //    {
        //        CargarProvincias(ddldepartamento.SelectedValue.ToString());
        //    }
            
        //}

        //protected void ddlprovincia_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    if (ddldepartamento.SelectedIndex > 0 && ddlprovincia.SelectedIndex > 0) 
        //    {
        //        CargarDistritos(ddlprovincia.SelectedValue.ToString());
        //    }
        //}

        protected void btnbuscar_Click(object sender, EventArgs e)
        {
            int solicitud;
            if (Request.QueryString["solicitud"] == null) { solicitud = 0; } else { solicitud = int.Parse(Request.QueryString["solicitud"].ToString()); }
            CargarProveedores(ddltipoidentificacion.SelectedValue, txtidentificacion.Text, txtrazonsocial.Text,
                txtkeyword.Text, ((EUsuario)Session["Usuario"]).PK_IPER_IDPERFIL,solicitud);
        }

        protected void gvproveedores_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            int indice = e.NewPageIndex;
            gvproveedores.PageIndex=indice;
            int solicitud;
            if (Request.QueryString["solicitud"] == null) { solicitud = 0; } else { solicitud = int.Parse(Request.QueryString["solicitud"].ToString()); }
            CargarProveedores(ddltipoidentificacion.SelectedValue, txtidentificacion.Text, txtrazonsocial.Text,
                txtkeyword.Text, ((EUsuario)Session["Usuario"]).PK_IPER_IDPERFIL, solicitud);
            //gvproveedores.DataSource = dtproveedores;
            //gvproveedores.DataBind();
        }

        protected void btnlimpiar_Click(object sender, EventArgs e)
        {
            LimpiarCampos();
        }

        protected void btnaceptar_Click(object sender, EventArgs e)
        {
            if (gvproveedores.SelectedIndex>=0)
            {
                string solicitud = Request.QueryString["solicitud"].ToString();
                string codproveedor;
                switch (solicitud)
                {
                    case "1":
                        codproveedor = gvproveedores.SelectedRow.Cells[3].Text;
                        Response.Redirect("wCargaArchivos.aspx?idproveedor=" + codproveedor);
                        break;
                    case "2":
                        codproveedor = gvproveedores.SelectedRow.Cells[3].Text;
                        Response.Redirect("wProveedorEstable.aspx?idproveedor=" + codproveedor);
                        break;
                    case "3":
                        codproveedor = gvproveedores.SelectedRow.Cells[3].Text;
                        Response.Redirect("wEnviarHomologar.aspx?idproveedor=" + codproveedor);
                        break;
                    default:
                        break;
                }
            }
            else
            {
                EscribirScript("Seleccione un Proveedor para Aceptar");
            }
        }

        protected void ddltipoidentificacion_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtidentificacion.ReadOnly = false;
            if (ddltipoidentificacion.SelectedIndex > 0)
            {
                int valor = int.Parse(ddltipoidentificacion.SelectedValue);
                switch (valor)
                {
                    case 1:
                        txtidentificacion.MaxLength = 8;
                        break;
                    default:
                        txtidentificacion.MaxLength = 11;
                        break;
                }
            }
        }

    }
}